package com.kingyea.mobilepolice.userorg.dao;

import com.kingyea.mobilepolice.userorg.bean.UserOrg;
import com.kingyea.mobilepolice.userorg.bean.UserOrgCondition;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author cxc
 * @version v1.0.0
 * @description This is a class
 * @date Created in 2018.04.09 09:06
 */

public interface UserOrgMapper {

    /**
     * @Description: 查询用户管理的所有的部门
     * @Param: [userSerialNo]
     * @return: java.util.List<com.kingyea.mobilepolice.userorg.bean.UserOrg>
     * @Author: cxc
     * @Date: 2018.04.09 09:11
     */
    List<UserOrg> searchAllOfUser(String userSerialNo);

    List<UserOrg> search(UserOrgCondition condition);

    List<UserOrg> findByUserIdAndOrgSerialNo(@Param("userSerialNo") String userId, @Param("orgSerialNo") String orgSerialNo);

    /**
     * @Description: 删除用户管理的所有的部门
     * @Param: [userSerialNo]
     * @return: int
     * @Author: cxc
     * @Date: 2018.04.09 09:10
     */
    int deletAllOfUser(String userSerialNo);

    /**
     * @Description: 删除部门对用户的依赖数据
     * @Param: [orgSerialNo]
     * @return: int
     * @Author: cxc
     * @Date: 2018.04.13 18:33
     */
    int deleteByOrgSerialNo(String orgSerialNo);

    /**
     * @Description: 为用户创建一个管理部门依赖
     * @Param: [userOrg]
     * @return: int
     * @Author: cxc
     * @Date: 2018.04.09 09:09
     */
    int addAOfUser(UserOrg userOrg);

    /**
     * @Description: 批量插入测试
     * @Param: [list]
     * @return: int
     * @Author: cxc
     * @Date: 2018.04.09 10:11
     */
    int batchSave(@Param("userOrgs") List<UserOrg> userOrgs);

}
